/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package mx.itschapala.dsw2.biblioteca8a.bl;

import java.util.List;
import javax.ejb.EJB;
import javax.ejb.Stateless;
import mx.itschapala.dsw2.biblioteca8a.dao.CategoriaDaoLocal;
import mx.itschapala.dsw2.biblioteca8a.enumeracion.EstadoServicio;
import mx.itschapala.dsw2.biblioteca8a.modelo.Categoria;

/**
 *
 * @author Marquez
 */
@Stateless
public class CategoriaBl implements CategoriaBlLocal {
    @EJB
    private CategoriaDaoLocal categoriaDao;

    // Add business logic below. (Right-click in editor and choose
    // "Insert Code > Add Business Method")
    @Override
      public EstadoServicio register(Categoria category) {
         if (categoriaDao.findDuplicity(category)) {
            //no se pudo hacer
            return EstadoServicio.INCOMPLETE;
        } else {
           categoriaDao.create(category);
            // ya lo hizo
            return EstadoServicio.COMPLETE;

        }
    }
    @Override
        public EstadoServicio modify(Categoria category) {
        if (category.getId() == null || categoriaDao.find(category.getId()) == null) {
            return EstadoServicio.INCOMPLETE;
        } else {
            categoriaDao.edit(category);
            return EstadoServicio.COMPLETE;
        }
    }
    @Override
            public EstadoServicio delete(Categoria category) {
         if (categoriaDao.find(category.getId()) == null || category.getId() == null) {

            return EstadoServicio.INCOMPLETE;
        } else {
            categoriaDao.remove(category);
            return EstadoServicio.COMPLETE;
        }
    }
    @Override
            public List<Categoria> getAll() {
        return categoriaDao.findAll();
    }

    @Override
    public Categoria findById(Integer id) {
        return categoriaDao.find(id);
    }

    
    
}
